const WS = require('ws')
;((WS) => {
  //ws:localhost:8000
  const Server = new WS.Server({ port: 8000 })

  const init = () => {
    bindEvent()
  }
  function bindEvent() {
    Server.on('open', handleOpen)
    Server.on('close', handleClose)
    Server.on('error', handleError)
    Server.on('connection', handleConnection)
  }
  function handleOpen() {
    console.log('handleOpen')
  }
  function handleClose() {
    console.log('handleClose')
  }
  function handleError() {
    console.log('handleError')
  }
  function handleConnection(ws) {
    console.log('handleConnection')
    ws.on('message', handleMessage)
  }
  function handleMessage(msg) {
    console.log('handleMessage', msg)
    msg = msg.toString()
    console.log(msg)
    Server.clients.forEach(function (c) {
      // console.log(client)
      c.send(msg)
    })
  }

  init()
})(WS)
